package com.RS.AndroidSDK;

import android.util.Log;

//.so���ļ�����jni��̬�⣬classname��packagename�����ô˹̶����ơ�
public class HardwareCtrl {
    /*ע�⣺
    1.������(__init)��ģ���ſ��ԡ���ȡ(__read)�����ݡ�
    2.����Ҫ��ȡ���ݵ�ʱ����롰�ر�(__close)��ģ�飬��ֹ�´�������ͻҲΪ�˽ڵ硣
    3.����ÿ��ģ��Ӳ����·�Ĳ�ͬ����������(__init)ģ�����ܻ���1-5�����ܶ�ȡ���ݡ�
    */

    //��Ƶ�� tag������ 1 ��ʾ125K����2 ��ʾ1443a��, 3��ʾ15693��, 5��ʾ1443a&&15693��, 6��ʾ900M����Ƶ
    static public native String Fridinit(int tag);

    static public native String Fridread();//��ȡ��ID

    static public native String FridreadData(int block, String pass);//��ȡ�����ݣ����ض�ȡ����

    static public native int FridwriteData(int block, String pass, String data);//д�����ݣ����ر�ǡ�1���ɹ�������ʧ�ܡ�

    static public native String Fridclose();
	/*
	 ����block��ţ�����������Ǵ�0��ʼ����
	 1.15693��64��(0..63), ÿ��4λ.
	 2.1443a��16������ÿ����4�飬ÿ��16λ,0����0���ǡ�ֻ���������Ϣ����ÿ��������4���ǡ���Կ�����ɶ�д��,
	     ʵ��ʹ��block��Χ�������0..63������0�ǡ�ֻ���������Ϣ����3��7��11��15....����block+1����4���ǡ���Կ�����ɶ�д����
     ����pass��Կ��15693����Կ��1443a������6λ��Կ���߿���Կ����
     ����data���ݣ�15693ÿ�����ݳ��Ȳ�����4λ��1443aÿ�鲻����16λ��
    */

    //�¶�ģ�� tag�����ʣ�0.01-0.99�����ֲ��ʷ�����//////////////
    static public native String IRTinit(String tag);//���ص�ǰ��Ч�ķ�����

    static public native String IRTgetTC();

    static public native String IRTsetTC(String coefficient);

    static public native String IRTread();

    static public native String IRTclose();

    //��ģ�� tag 1λ��, 0�ٶ�, 2���ٶ�    freq 0��Ƶ 1��Ƶ
    static public native String VIBinit(int tag, int freq);

    static public native String VIBread();

    static public native String VIBclose();

    static public native int SetDZ(int tag, int freq, int dz);

    static public native int GetDZ(int tag, int freq);

    //����ģ����ƹ���
    static public native String KeyledPower();//wifi��Դ

    static public native String Scaninit();//��ά���Դ

    static public native String WifiPower(int tag);//wifi��Դ

    static public native String IICinitdata();

    static public native String IICreaddata();

    static {
        try {
            System.loadLibrary("RSdevice35");
        } catch (UnsatisfiedLinkError e) {
            Log.d("HardwareControler", "RS. library not found!");
        }
    }
}